package top.ffhome.common.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

/**
 * Mapper基类
 */
public interface BaseMapper<T> {
	/**
	 * 根据id取得实体
	 * 
	 * @param id
	 * @return
	 */
	T get(Long id);

	/**
	 * 插入实体对象
	 * 
	 * @param entity
	 * @return 操作影响的行数
	 */
	int insert(T entity);

	/**
	 * 修改实体对象
	 * 
	 * @param entity
	 * @return 操作影响的行数
	 */
	int update(T entity);

	/**
	 * 根据ids删除实体对象
	 * 
	 * @param ids
	 * @return 操作影响的行数
	 */
	int deleteByIds(@Param("ids") List<Long> ids);

	/**
	 * 查询方法
	 * 
	 * @param dto
	 *            查询条件
	 * @return 查询结果
	 */
	List<T> select(T dto);
}
